/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import DBMS.DataBaseManager;
import java.io.Serializable;
import java.util.ArrayList;

/**
 *
 * @author andreth
 */
public class Columna extends Root implements Serializable {

    private Categoria categoria;
    private Integer idColumna;
    private String tipo;
    public static ArrayList<String> tipos = new ArrayList<String>();
    private String nombre;
    private Lista lista;
    private boolean cpyd;
    private int idLista;

    public void isCpyd(boolean bool){
          cpyd=bool;
    }
    
    public boolean guardarCpyd(){
        return this.cpyd;
    }
    public int getIdLista() {
        return idLista;
    }

    public void setIdLista(int idLista) {
        this.idLista = idLista;
    }



    public static ArrayList<String> getTipos() {
        return tipos;
    }

    public static void setTipos(ArrayList<String> tipos) {
        Columna.tipos = tipos;
    }

    public String getCpyd() {
        if(cpyd){
            return "CPYD";
        }else{
            return "Unidad Correspondiente";
        }
    }

    public void setCpyd(String uni) {
        if(uni.equals("CPYD")){
            this.cpyd = true;
        }else{
            this.cpyd= false;
        }
    }

    public Columna() {
        if(Columna.tipos.size() < 1){
            Columna.setTipos();
        }
    }

    public Columna(Categoria categoria, Integer idColumna, String tipo, String nombre, Lista lista) {
        this.categoria = categoria;
        this.idColumna = idColumna;
        this.tipo = tipo;
        this.nombre = nombre;
        this.lista = lista;
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public Integer getIdColumna() {
        return idColumna;
    }

    public void setIdColumna(Integer idColumna) {
        this.idColumna = idColumna;
    }

    public Lista getLista() {
        return lista;
    }

    public void setLista(Lista lista) {
        this.lista = lista;
    }
    
    public void setLista(int index){
        ArrayList<Lista> listas = DataBaseManager.getInstance().consultarListas();
        for (Lista listatemp : listas) {
            if(listatemp.getIdLista()== index){
                this.lista = new Lista();
                this.lista.setIdLista(listatemp.getIdLista());
                this.lista.setValores(listatemp.getValores().clone());
            }
            break;
        }
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
    
    public static void setTipos(){
        tipos.add("Alfanumerico");
        tipos.add("Numerico");
        tipos.add("Porcentual");
        tipos.add("Lista");
    }
}
